Computing systems with constrained resources are becoming very common in environments in which communications with one or more other devices are required. Frequently, these systems are referred to as embedded systems. They are typically limited in functionality, and have fewer resources than a typical personal computer, i.e., limited processing capability, memory size and speed of internal bus structures, for example.
In a communication network environment, the embedded systems typically have a single processor and a memory for the processing of network data as well as the specific functions that they perform. A print server in a local area network (LAN) is an example of an embedded system in a network. Generally, data coming in from the network can be lumped into two categories, broadcast and non-broadcast. Non-broadcast data is characterized as being sent to a particular node where an embedded system is logically located. Broadcast data, on the other hand, refers to data sent to a group of nodes or all nodes on the network.
As more and more nodes are added to the network, broadcast data traffic increases, thus making it difficult for the embedded systems to receive and process the increased data flow from the network, particularly the non-broadcast data necessary for performing the particular functions of the embedded systems. The processors in the embedded systems typically do not have the bandwidth to process the incoming data fast enough and/or adequate memory (buffer structures) to store all the incoming data.
One treatment of this problem in the past has been to simply hope that the amount of broadcast data does not exceed the capacity of the processor. This has proven inadequate in networks with high surge of broadcast traffic or during “broadcast storms.” Another known attempt to solve the problem of high broadcast traffic involves disabling the embedded system's capability to receive broadcast data. This, however, cannot be done dynamically and the embedded system typically must be reset. Also, in most off-the-shelf embedded systems, this method results in loss of current network state, such as connection to the network.